home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 26
/
Cream of the Crop 26.iso
/
bbs
/
cdca210a.zip
/
CDCAR.DOC
next >
Wrap
Text File
|
1997-06-08
|
31KB
|
692 lines
/* CD Carousel */
/* by Bill Esposito */
/* v2.10Adept */
/* The Cereal Port BBS */
/* 1:132/152 */
/* (603)899-3335 */
/* bill.esposito@cereal.mv.com */
/* Magic name 'CDCAR' */
/* for latest version */
/* */
/* *********************************************************************** */
/* DISCLAIMER: This software is provided "AS IS" without any warranty of */
/* any kind, either expressed or implied. USE IT AT YOUR OWN RISK. */
/* */
/* Copyright 1993, 1994, 1995 by Bill Esposito. This program is SHAREWARE.*/
/* Please read the file SHAREWRE.TXT included in this archive. */
/* */
/* CD Carousel and it's support programs are not to be modified or */
/* distributed in modified form without the express written permission of */
/* The author, Bill Esposito. */
**********************************************************************
What this archive contains:
CDCar.doc This file.
CDMenuAdept.Erx The CD Carousel Local menu program.
CDCar.Erx The CD Carousel Door REXX program.
CDCar01.cfg The CD Carousel configuration file.
CDMaintAdp.Erx The CD Carousel File/msg maintenance REXX program.
CDConvrtAdp.Erx The CD Carousel Files.bbs conversion REXX program.
* CDUpdateAdp.Erx The CD Carousel File Area Maintenance/Update REXX program.
* CDPurgeAdp.Erx Purges the file request area of old files by age or user name.
* CDOklst.cmd Creates an "Okfile.lst" for your Online CD's
CDCar.ico PM Icon for CD Carousel
Seticon.cmd REXX script to create a desktop Icon for CD Carousel.
CDBull.txt Sample bulletin file.
CDhelp.txt CD Carousel's help file.
History.txt Revision information.
Whats.new New features/fixes for this release.
* Allfiles.cmd File List Utility
* Registered version only
-----------------------
What is CD Carousel?
CD Carousel is a collection of REXX programs which when used together
provide a fairly simple means for making multiple CD Roms available on single
OR MULTIPLE CDROM drive IN ADEPTXBBS. With this release, CD Carousel can now be
used in a multiline environment as well as configured with privilege
control. CD Carousel fully supports the Pioneer CD Changers.
Basically CD Carousel provides the user with a listing of all your
data CD's from which he can "request" offline files. The Sysop can then, once
a day, once a week, or whatever, manually run the CDMenu program which will
prompt for the required data CD's, and automatically copy the requested files
to a predefined file area for download by the user. All user privileges and the
numeric keys are fully supported. The CDMenu program will also generate a
message in either squish or *.msg format acknowledging that the "request" has
been successfully fulfilled. In the "stand-alone" mode, CD Carousel's operation
differs only in that messages are not generated.
* Registered version only *
Once the user has downloaded his file, CDUpdate.cmd will clean up the file
areas. If a file has more than one request against it, CD Carousel will keep
track of them, finally deleting the file, and it's entry in the files.bbs,
when all requests have been satisfied. CDUpdate.cmd also now features down-
load counting and "Uploaded by" options.
----------------------
CD Carousel is not designed for real time access to your CDROM.
However, you can configure CD Carousel to treat your Online CD as an
Offline CD. Everything will work the same except instead of generating
a request, CD Carousel will copy the files to your request directory for
immediate download. This provides for a very fast search and browse
function.
Installation.
REXX must be installed. If it is not, use the "Selective Install" function in
your OS/2 "Setup" folder.
***** The CD must already be "BBS Ready" with Files.bbs type files.
*****
***** Here's some examples:
*****
***** \ Root
***** IBMPC
***** Utility
***** files.bbs
***** filename.ext
***** etc.
***** Graphics
***** files.bbs
***** filename.ext
***** etc.
***** GIFS
***** files.bbs
***** *.gif
***** etc
***********************************************************************
***** \ Root
***** IBMPC
***** Utility
***** 00_index.txt
***** filename.ext
***** etc.
***** Graphics
***** 00_index.txt
***** filename.ext
***** etc.
***** GIFS
***** 00_index.txt
***** *.gif
***** etc
***********************************************************************
***** \ Root
***** IBMPC
***** Utility
***** utility.txt
***** filename.ext
***** etc.
***** Graphics
***** graphics.txt
***** filename.ext
***** etc.
***** GIFS
***** gifs.txt
***** *.gif
***** etc
***********************************************************************
***** \Root
***** Utility
***** filename.ext
***** etc
***** Graphics
***** filename.ext
***** etc
***** Gifs
***** Filename.ext
***** etc
***** Lists
***** utility.lst
***** graphics.lst
***** gifs.lst
***** etc
*****
***********************************************************************
1. Create a directory for CD Carousel. Since all the file lists of
your CD's will be stored on this disk, make sure you have plenty
of space. Figure on about 1 meg for each CD.
2. Unzip the CDCARADP.ZIP archive into this directory.
* b. Move the CDUpdate.cmd to your \Adept\ directory.
Unlike the Max/2 version of CD Carousel, the Adept version uses AdeptREXX
functions and can only be executed as a menu choice from within Adept.
Edit the files cdmenu.srx and cdcarousel.srx to contain the correct home dir
for Cd Carousel and copy the .srx files to your \adept\menus directory.
Add the following menu option to your file.menu (or whatever) which will
Invoke the User interface to CD Carousel
BEGINMENUITEM
KEY +
MENUCOMMAND 11
DISPLAYSTRING CD Carousel
DISPLAYCOLOR 0
MINSEC1 10 <--- User security
MINSEC2 10
DATAOPTION cdcarousel.srx
ENDMENUITEM
Add the following menu option to your sysop.menu (or whatever) which will
invoke the Sysop interface to CD Carousel.
BEGINMENUITEM
KEY 8
MENUCOMMAND 11
DISPLAYSTRING CD Carousel Maintenance
DISPLAYCOLOR 0
MINSEC1 100
MINSEC2 100 <---- Sysop Security
DATAOPTION cdmenu.srx
ENDMENUITEM
* Registered version only
3. Edit the variables in CDCar??.CFG to suit your needs.
BE SURE TO SEPARATE YOUR COMMENTS FROM THE VARIABLES WITH A SEMICOLON ";"
****** Don't forget the trailing backslashes in the pathnames *****
TechTool ;1st line - Select a name that will represent
; the default disk that will shown to
; the user when he enters CD
; Carousel. This should match the
; name you pick for this disk when
; you run CDConvrt.cmd. See section
; on privs and keys.
;
0 ;2nd line - Menu Style. 0 for default and
; 1 for Maximus/2 style.
;
j:\cd\ ;3rd line - Drive:\path\ where CD Carousel
; resides. (cdcar.cmd)
;
Reserved ;4th line -
;
i:\max\file99\ ;5th line - Drive:\path\ to file area where requested
; files are to be placed. In the Unregistered
; version, CD Carousel does not delete these
; files after User download, The Sysop must
; perform the house cleaning.
;
Reserved ;6th line -
;
Reserved ;7th line -
;
;
6 ;8th line - Message area Number where acknowledgments go.
;
1:132/152.0 ;9th line - To Node complete address including
; point (1:132/152.0)
;
1:132/152.0 ;10th line - From Node complete address
; including point (1:132/152.0).
; Normally the same as the TO node.
;
Bill Esposito ;11th line - Sysops Name
;
Reserved ;12th line -
;
10 ;13th line - Message area Number where the SYSOP will
; receive messages from CD Carousel.
;
1 ;14th line - Public or Private message to users.
; Enter either "1" for Private or "0" for
; Public. (private recommended)
; * This is new to v1.1
;
1 ;15th line - MUST BE SET TO 1
;
;
e:\max\max.log ;16th line - Drive:\path\filename of your Max log file
;
0 ;17th line - MUST BE SET TO 0
;
0 ;18th line - 0 to generate a message to the Sysop for
; EACH request, 1 for only message.
;
0 ;19th line - 0 for long file descriptions, 1 for 1 line.
; Long will result in 10 files being displayed
; per page, short will give 20 files. See the
; I)nfo menu option.
;
0 ;20th line - 0 for original file dates, 1 for todays date.
; Selecting 1 will touch each copied file with
; the current date, and thus make it easier to
; clean up the files which were requested but
; never downloaded. Future versions will do this
; automatically
;
5 ;21st Line - Number of days files are kept online. Enter
; 0 to disable (non-registered enter 0)
;
Future Expansion ;22nd line - Be sure you keep these lines in your
Future Expansion ;23rd line - CDCAR??.CFG for place holders.
Future Expansion ;24th line - /
;
;
Simtel20 ;*25th line - Name of the CD normally installed in CDROM
; If you do not want CD Carousel to copy files
; from your Online CD, delete the entire 25th
; line of the .cfg file.
;
;26th line - Enter the rest of your installed CD's, 1 per
; line. No limit. If you have 6 online CD
; players, than the CD's will be entered on
; lines 25 thru 30.
* Just to clarif things, if you dont want to use the online CD function
then LINE 24 should be the last line in your Cdcar.cfg file.
4. Now run CD Carousel's Sysop menu option.(which in our example above was "8")
a. Select the option S)et-up a new cd.
b. CDConvrtAdp.Erx will be executed and will prompt you for a name
to be given to the data CD. This name should be descriptive,
and be no more than 8 characters long. (mark the cd with the
name for future use)
Example: Simtel20
c. You will also be asked for the CDrom drive letter. For the
example below, "L" would be entered.
Simtel20 CD
L:\msdos\4DOS
L:\msdos\ABC
L:\msdos\ADA
L:\msdos\AI
L:\msdos\AIJOURNL
etc...
CD Carousel should support CD's with files.bbs in each subdirectory, a
files.bbs-like file in each subdirectory (be they all the same name or
named after the directory) or all the files.bbs-like files in one directory.
If configured properly, it will read the files.bbs off your CDROM,
add size and date info, and copy the new file into a subdirectory
corresponding to the name you entered for this disk.
Example: Given the paths listed in 4 above, CDConvrt will read
the CD in L:. It will scan all the file areas and copy each
files.bbs, with the new size/date info into a subdirectory under
j:\cd\ named after the disk, Simtel20.
creates: j:\cd\simtel20
4DOS.BBS
contains the ABC.BBS
files.bbs's ADA.BBS
AI.BBS
AIJOURNL.BBS
In order to provide for compatibility with many different CD
directory layouts, CDConvrt must search your CD for directories
which contain Files.BBS. This process is time consuming (unless
you have one of those new triple speed drives!), so be patient.
CDConvrt must search the disk twice, once to find all the
directories, and the second pass to convert all the Files.BBS's
into the new format.
The CDConvrtAdp.Erx utility converts standard files.bbs
files like this:
AR15.ZIP Run a program from an ARC file
ARCINDX2.ZIP Create a catalog of archived data
ARCRUNER.ZIP Run COM and EXE files in archives
Into this format with size and date info added, and the
description truncated to result in a line length of 254 characters:
AR15.ZIP 39323 11/10/88 Run a program from an ARC file
ARCINDX2.ZIP 42633 7/23/88 Create a catalog of archived data
ARCRUNER.ZIP 8096 8/29/88 Run COM and EXE files in archives
CDConvrtAdp.Erx will now convert file list with multiline
descriptions. (ex. Pier? series, So Much Shareware series)
You may manually edit non-standard files.bbs or index lists to
conform to the above if you don't have the standard type which is
needed for CDConvrtAdp.Erx to work.
If your disk contains files.bbs which already have date/size info, then
answer 'Y' to the prompt "Do the files.bbs already contain date/size
information? (y,n)"
You will be asked if you want CD Carousel to prompt you at each directory
for it's inclusion. This may be helpful if you want to make only some
of the directories available to the user. Once selected, you may abort the
prompting by typing 'a' at the prompt.
You will also be asked if you want to sort the directories. This may be
helpful with disks that contain multiple subdirectories with the same
name. (ex. Hobbes)
Speaking of multiple subdirectories with the same name, CD Carousel will
prompt you for a new name when this occurs. Lets say for the sake of
argument that there are three subdir's with the same name:
l:\os2\comm
l:\os2\1x\comm
l:\os2\2x\comm
You will be prompted at the second and third occurrence of the subdir "comm"
for a new name. Keep track of the new name so you know what you've used
when the third occurrence rolls around. CD Carousel will not let you enter
the same name twice.
Privledges
You will Also be prompted to enter a Privilege level for the disk. You must
enter the numeric value of your SEC1 Security level . Acceptable entries
are: 0 thru 99999999. Be sure that the disk that you make as your 'Default CD'
is available to all. The reason for this is because the 'Default CD' is not
checked for privilege of keys, so if you have say an adult CD as default, and
a 12 year old enters CD Carousel, the adult CD will be displayed to him as
default.
** If all Disks require the same access level, and that level is not
available to all users, then set the menu privilege for CD Carousel to
that level in the menu file. Otherwise, when the user enters CD
Carousel, he will be presented with the 'Default CD'.
5. If everything ran right, a file called DISK.LST was created in
your homedir. This file contains the names of the disks, as you
entered them in CDConvrtAdp. You may OPTIONALLY add CD disk descriptions
as you did for the file areas.
If you ever delete a disk, you will have to edit this file. If you want
to add a disk, this file is automatically updated. Also created was a
directory with the same name as you gave the CD, and it will contain all
the *.BBS files as well as a list of area names (name.lst).
New to version 2.3, a work directory, tmp, was created under the CD
Carousel directory. You may delete this, or not, after setting up all your
CD's. It will be created again if you add a CD.
6. One other file was created and placed in the same directory as
the files.bbs. The file, NAMES.LST, contains the CD file area names
and also the full drive:\path of all the CD directories. You may
OPTIONALLY add File Area descriptions to this file.
example: Here's the first 3 lines of the NAMES.LST as it was
generated by S)etup (CDConvrt.cmd).
4DOS L:\MSDOS\4DOS
ABC L:\MSDOS\ABC
ADA L:\MSDOS\ADA
If you want to add File Area Descriptions, use an ASCII
editor to make it look like this:
4DOS L:\MSDOS\4DOS Great Command Processor
ABC L:\MSDOS\ABC Strange Programming Language
ADA L:\MSDOS\ADA ADA Programming Language
7. Repeat steps 4, and 5 for each CD you wish to install.
8. Deleted
9. Deleted
10. Deleted
11. Deleted
12. * Registered version only *
Edit your SpawnBBS.cmd file (ie. the batch file used to start Max/2) to
include these two lines:
-----
cd\max ;Change to your BBS directory
cdupdate j:\cd\ 01 1 2 k c
-----
** Dont forget the Trailing Backslashes on all pathnames **
The syntax is: <>=Required, []=Optional
CDUpdate <CD Carousel Dir> <task(in HEX)> <down count> <up by> [CD drive] [Alternate drive]
CDUpdate i:\cdcar\ 01 1 2 k c
<Download Counter> = 0 for no download counting, 1 for download counting
At this time it only supports 3 place counts, and only () as the brackets.
<Uploaded by> = 0 for none
1 for "(Uploaded by USERNAME)" appended to file description.
2 for "- (Uploaded by USERNAME)" on the next line.
If you select 1 the Uploaded by will be permenantly attached to the file
description. Selecting 2 will cause it to be located as a comment on the next
line of the files.bbs. This comment will not be moved by MFM when/if the file
is ever moved to another area.
[CD Drive leter] = Drive letter (without colon) of your CD Drive
[Alt Drive Letter] = Drive letter (without colon) of the drive where your
files.bbs for your CD are located. If you create the same directory structure
on a HD, and copy the files.bbs from your installed CD's into them, and modify
your Filearea.ctl to point to that disk, then CDUpdate will be able to modiify
those files.bbs and enter the download count. If these optional entries are
omitted, then CDUpdate.cmd will try to write to the files.bbs on the CD, which
of course will create an error message, but will not affect CDUpdate's
operation.
CDUpdate.cmd will scan your max.log to look for downloads. If it finds a
download of a requested file, it will either decrement the request counter,
or if it was the only/last request of that file, delete the file and it's
files.bbs entry. CDUpdate will also put an '*' at the end of each line in
the log that represents a download, so that it will not be checked/counted
again. CDUpdate also creates a small file in your Max directory where it
keeps user names and the files that they requested. This list is used by
CDUpdate abd compared with the download log. Only if all the names and
files match, will CDUpdate take action.
To speed CDUpdate, delete your log every day. I copy mine to a backup file,
then delete it.
13 * Registered version only *
CDPurge.cmd is a utility that can be run once a day, or once a week. It
will purge the file request file area of old files where were never picked
up.
CDCar??.cfg parameter #20 must be set to "1" (touch file dates) in order for
CDPurge.cmd to work.
The syntax is: <>=Required, []=Optional
CDPurge <CD Carousel Dir> <task(in HEX)> <# of Days old> [Username]
or
CDPurge i:\cdcar\ 01 10
The above command line will delete all files that have been around more than
10 days. CD Carousel "touches" the file date each time someone requests a
file. A file already awaiting download, will be "touched" again if another
user requests it, thus starting the clock again for that file.
You will notice that if you request files locally for your own use, that the
files.bbs is also updated, but unless you actually download the file, it
never gets deleted from the file area. CDPurge can also be used to delete
all files requested by a specific user.
CDPurge i:\cdcar\ 01 10 bill esposito
The above line will delete all files, no matter how old, which were
requested by Bill Esposito.
CDPurge i:\cdcar\ 01 10 bill esposito
^^
||
*** Even though the # of days parameter is ignored when a username is supplied,
it is still required in the command line.
14. Edit the BULLETIN.TXT file to your liking. Use an ASCII editor and
keep the line length to 79 or fewer characters per line.
15. Deleted
OPERATION
The BBS User will be presented with the following options:
C)hange Disk
F)ile Area
S)earch by Filename/Text
D)ownload Requested files
B)ulletins
?)Help
Q)uit Back to BBS
"Change Disk" will present the User with all available CD's from which he can
choose.
"File Area" will present the User with a list of all the file areas available
on the selected disk.
Once a file area is selected, the user will be presented with a list of
files, and the selection options "More, file# (Y,n,#,i,?):"
'Y' = Yes, display the next page.(default)
'n' = No, quit to main menu.
'#' = Enter the file number of the file you wish to tag. (ex. 3)
* 'i' = Info; selecting this will prompt you for a file number. Entering
the number will display the unabbreviated file description.
'?' = Help
* by setting configuration parameter 19 to "0" for short file descriptions, the
user see 20 files/page - thus speeding up his browsing of the file lists. He
can then use the I)nfo command to expand any file descriptions that he is
interested in.
"Search by Filename/Text" is a string search of all the filenames and
descriptions for the selected CD. If you set up CD Carousel to work with your
ONLINE CD by entering it's name as line 18 in Cdcar.cfg, your Users will have a
very fast file lookup available to them, much faster than from the Max/2 file
menu.
"Download Requested Files" will allow the user to download those offline files
he requested once the request has been filled. The User will receive a message
informing him that his request has been filled.
"Bulletins" displays the file CDbull.txt, in which you can put anything you
want.
"?Help" displays the file CDhelp.txt.
"Quit back to BBS" sends the user back to your BBS. If you set up your ONLINE
CD by entering it's name as parameter line 18 in CDcar.cfg, then those files
will be copied to your file request directory for immediate download.
---------------------------
At the end of the day, or at whatever frequency you want, you must
manually FILL file Requests.
If you have set parameter #18 to "1", you will be notified by CD Carousel in the
msg area defined by config parameter 13 when there is at least one (1) pending
request. You will not receive another message until after you have filled the
requests, then the first time there is a new request, you will again receive a
message. This is helpful if you have a lot of activity, and duplicate messages
would just clutter your message base. If you set parameter #18 to "0" then
you will receive a message EACH time a user makes a request. When you receive
this message, run CDMenu.cmd. When the menu comes up, select F)ill file
requests. This will run CDMaint.cmd. When run, it will prompt you for each
disk that has an outstanding request against it. If a file already appears in
the files.bbs no change will actually occur. After copying the files, it will
send a message to the user telling him/her that their request has been fulfilled.
If for some reason an error while copying occurs, the error will be entered
in a file called 'errors.log'. This file can be reviewed and/or deleted by
selecting "R)eview logs" at the main menu, then selecting "E)rror log". If the
error was caused by having the wrong disk in your drive, CD Carousel will let
you try again. You must select from the "R)eview logs" menu the option "F)ill
from error log". This will step through the error.log and offer you the choice
of trying again. If you answer yes to the propmp "Do you want to fill this
request?", a .req file will be generated. When you're finished reviewing the
log, return to the main menu, and select "F)ill file requests". CD Carousel
will behave as if nothing had happened and again try to fill the request.
16. Review of CDMenuAdept.Erx.
S)et-up a new cd - Runs CDConvrt.cmd. Creates new .BBS files on
your hard disk.
F)ill file requests - Runs CDMaint.cmd. Copies files from your CD
to a Max/2 file area.
L)ocal CD Carousel - Runs the door, CDCar.cmd, in the local mode.
R)eview logs - Displays another menu allowing you to display either
the error log or a log of user requests and fill
requests from the error log. The error log contains a
list of requests that were not filled because of some
file copying error, usually the incorrect disk in the
CD player at the time of the fill.
17. * Registered versions only. - Allfiles.cmd
Allfiles.cmd is a simple utility to create file lists of your CD's.
To use it just type:
allfiles dir output_filename
Dir is the full path to the file area that contains all the .bbs files.
Output_filename is the name you want to use for the output.
Lets say that we have the Hobbs 94 CD setup. CD Carousel would have created a
directory under it's directory with the name you gave the disk when you
installed it. Lets say we called it Hobbs, and we want the output file
to be named Hobbs94.lst. You would then enter, from the CD Carousel Dir:
allfiles i:\cdcar\hobbs\ hobbs94.txt
The file Hobbs94.txt will be created in the CD Carousel Directory.
Why use this utility? Because you may have had to rename some directories
(if you installed Hobbs, I know you did) or you may have elected not to
include some directories. Allfiles.cmd will only list what's available
from CD Carousel.
18. * Registered versions only. CDOklst.cmd
CDOklist.cmd will create a file called CDOK.LST which can be appended to
your normal OKFILE.LST. Since you now may have a bunch of Online CD's
you may want to make the files available for Freq.
The syntax is: <>=Required, []=Optional
CDOklst <CD Carousel Dir> <task(in HEX)>
or
CDOklst i:\cdcar\ 01
**********************************************************************
Bug Reports
Please send all bug reports to Bill Esposito at:
FidoNet 1:132/152
Internet bespo@cereal.mv.com
End.